package club.zhilin.guli.service.edu.service;

import club.zhilin.guli.common.base.result.CommonResult;
import club.zhilin.guli.service.edu.domain.Teacher;
import club.zhilin.guli.service.edu.domain.qo.TeacherQueryObject;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 讲师 服务类
 * </p>
 *
 * @author zhilin
 * @since 2022-01-11 15:29:01
 */
public interface ITeacherService extends IService<Teacher> {
    /**
     * 通过条件查询讲师列表
     *
     * @param page               页码
     * @param limit              一页显示数据的记录数
     * @param teacherQueryObject 查询对象
     * @return 讲师列表
     */
    CommonResult<Map<String, Object>> selectList(Long page, Long limit, TeacherQueryObject teacherQueryObject);

    /**
     * 根据关键字查询讲师名称
     *
     * @param key 关键字
     * @return 讲师名称列表
     */
    List<Map<String, Object>> accordingKeySearchNameList(String key);

    /**
     * 根据讲师id删除讲师头像
     *
     * @param id 讲师id
     * @return boolean
     */
    boolean removeAvatarById(String id);

    /**
     * @param teacherId
     * @return
     */
    Map<String, Object> selectCourseByTeacherId(String teacherId);

    /**
     * 查询热门讲师
     *
     * @return list
     */
    List<Teacher> selectHotTeacher();
}
